草庐IT

javascript - 通过对象键将数组项移到前面

全部标签

ruby - Require 返回一个数组而不是一个 bool 值

根据Kernel#require的文档该方法返回一个bool值。然而,我在IRBsession中注意到对于某些文件require返回一个数组。ruby-1.8.7-p330:001>require'net/http'=>trueruby-1.8.7-p330:002>require'date'=>trueruby-1.8.7-p330:003>require'lib/data_provider'=>["DataProviders"]返回的数组包含在data_provider.rb中定义的模块的名称:moduleDataProvidersmoduleCachedclassFoo#...e

ruby-on-rails - RSpec.configure 和请求对象

我有一个作为RESTfulAPI构建的Rails3.1应用程序。计划是根据通过AuthorizationHTTPheader在每个请求上传递的APIkey来处理身份验证。为了在RSpec中对此进行测试,我想在config.beforeblock中设置request.env["HTTP_AUTHORIZATION"]属性:RSpec.configuredo|config|config.mock_with:rspecconfig.use_transactional_fixtures=trueconfig.before(:each)do#SetAPIkeyinAuthorizationhea

ruby-on-rails - 在对象空间 object_id 中复制类

我遇到一个奇怪的问题,我正在使用的Rails引擎中的某些模型在对象空间中被复制。(rdb:1)ObjectSpace.each_object(::Class).each{|klass|putsklass.to_s+":"+klass.object_id.to_sifklass.to_s.eql?("DynamicFieldsets::Field")}DynamicFieldsets::Field:66866100DynamicFieldsets::Field:718363802479发生这种情况时,我不能使用is_a?或相等性检查以测试对象是否是Field类的实例。这个问题只发生在开发

ruby - 无法通过 rvm bundle install 安装 ffi 1.9.0 - OSX 10.8.4

在带有自制软件、xcode(带有命令行工具)和libffi的MacbookPro上使用OSX10.8.4。我已经安装了rvm和ruby​​-1.9.3-p448,并且有一个名为omega.ecoop的gemset。有一个gemfile列出了该项目所需的gem。但是,在运行bundlecheck后,我无法安装它们:Bundlercan'tsatisfyyourGemfile'sdependencies.这是正确的,因为它们没有安装。所以我使用:bundleinstall产生以下内容:Sams-MacBook-Pro:ecoopSam$bundleinstallFetchinggemmet

ruby-on-rails - 如果只有一个存在,是否有用于返回第一个数组元素的 ruby​​ 习惯用法?

如果数组只包含一个值,我想返回数组的第一个元素。目前,我使用:vals.one??vals.first:vals.presence因此:vals=[];vals.one??vals.first:vals.presence#=>nilvals=[2];vals.one??vals.first:vals.presence#=>2vals=[2,'Z'];vals.one??vals.first:vals.presence#=>[2,"Z"]是否有内置的东西可以做到这一点,或者是否有更好的设计考虑?我的用例是特定的,涉及知道从方法(将实现上述代码)中期望什么的演示者。如果这些演示者将所有返回

ruby-on-rails - 如何为特色对象预填充表单?

用户可以输入自定义:action或选择特色:action:Orchooseafeaturedchallenge:如果用户选择特色:action,新的挑战/_form会预先填充他选择的:action,但现在我想把它带到在您的帮助下更上一层楼!Challenge:DoOn:DoFor:如何预填充特色挑战的其他属性,例如“DoFor”或“DoOn”?例如,如果用户选择特色:action:'RunaMile那么我会用RunaMile预填充表单>,周一、周三、周五,30天。 最佳答案 您可以将simple_form与reform一起使用。Re

ruby - 省略数组中散列的大括号

我意识到如果散列是数组中的最后一个元素,则可以省略散列的花括号。例如,表单:[1,2,3,:a=>'A',:b=>'B'][1,2,3,a:'A',b:'B']似乎等同于:[1,2,3,{:a=>'A',:b=>'B'}][1,2,3,{a:'A',b:'B'}]我知道这种遗漏对于方法的参数是可能的,但没有注意到对于数组也是可能的。我对这条规则的理解是否正确?而且,这在某处有描述吗? 最佳答案 这似乎是1.9的新功能:$rvmuse1.8.7$irbruby-1.8.7-p352:001>x=[1,2,3,:a=>4,:b=>5]S

ruby - Stub ActiveRecord::Relation with ActiveRecord 对象

我不是在测试Rails应用程序。只是解决这个问题。我正在测试一个连接到相对活跃的服务器的库,按时间戳限制记录。这些返回的记录随着时间​​的推移而变化,使得测试其他限制变得更加复杂。我需要stubActiveRecord::where方法来返回我自己与我创建的对象的自定义关系,以满足我需要的标准。有点像relation=double(ActiveRecord::Relation)relation.stub(:[]).and_return([MyClass.new(...),MyClass.new(...),...])MyClass.stub(:where).and_return(rela

ruby - 在 ruby​​ 中模拟 3rd 方对象的最佳方法是什么?

我正在使用twittergem编写一个测试应用程序,我想编写一个集成测试,但我不知道如何模拟Twitter命名空间中的对象。这是我要测试的功能:defbuild_twitter(omniauth)Twitter.configuredo|config|config.consumer_key=TWITTER_KEYconfig.consumer_secret=TWITTER_SECRETconfig.oauth_token=omniauth['credentials']['token']config.oauth_token_secret=omniauth['credentials']['s

ruby-on-rails - 如何通过 Carrierwave 通过 JSON API 上传文件?

我正在Rails中构建文件操作API,我需要能够通过单独的gem访问它。API使用Carrierwave,那件作品没有问题。我不明白该怎么做是获取任意文件并将其从gem接口(interface)传递给API。Carrierwave将其文件作为File.open('foo.jpg')的结果或作为来自文件字段的POST。不过,我真的不确定他们正在做什么来序列化文件并将其一起发送。我如何获取文件的内容并将其转换为我可以传递并通过JSON发布的内容? 最佳答案 当HTML表单POST文件时,实际发生的是HTTP的一个特殊部分,称为多部分请求